package com.offics.loan.application.dto.repayment;

import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 还款请求
 */
@Data
public class RepayRequest {

    /**
     * 用户ID
     */
    @NotNull(message = "用户ID不能为空")
    private Long userId;

    /**
     * 贷款ID
     */
    @NotNull(message = "贷款ID不能为空")
    private Long loanId;

    /**
     * 还款计划ID
     */
    @NotNull(message = "还款计划ID不能为空")
    private Long repaymentPlanId;

    /**
     * 还款金额（单位：分）
     */
    @NotNull(message = "还款金额不能为空")
    @Min(value = 1, message = "还款金额必须大于0")
    private Long amount;

    /**
     * 还款方式（0-银行卡，1-支付宝，2-微信）
     */
    @NotNull(message = "还款方式不能为空")
    private Integer repayType;

    /**
     * 银行卡ID
     */
    private Long bankCardId;
}